Recently, a number of knowledge base management systems have been developed which codify information in a knowledge base and provide a mechanism for users to access and maintain the stored information. For a general introduction to knowledge bases, see Ronald J. Brachman, "The Basics of Knowledge Representation and Reasoning," AT&T Technical Journal, Vol. 67, No. 1, pp. 7-24 (January/February 1988) and J. Sowa, ed., Principles of Semantic Networks: Explorations in the Representation of Knowledge, Morgan-Kaufmann Publishers (1991).
Generally, information for a particular domain is developed through a knowledge engineering process which requires a domain expert to translate his or her knowledge into a collection of declarative expressions which embody the expert's knowledge. In addition, the expert can generate a set of rules and inferences which serve to imitate the expert's reasoning.
An illustrative knowledge base management system is the CLASSIC.TM. Knowledge Representation System, developed by AT&T Bell Laboratories, which allows a user to generate, maintain and access information in a knowledge base using a description language. The information that is stored in a knowledge base for a particular object typically includes "told" information that has been entered by a user about the object, as well as "derived" information that may be ascertained about the object based on the told information and certain inferences that allow information about the object to be inferred.
A knowledge base management system may provide an explanation function which explains the source of each piece of information that has been stored for a particular object. For example, the explanation function may indicate that a piece of information was entered by the user about an object, or that the piece of information was inherited from a concept which the user asserted that the object satisfied.
There are very few knowledge base management systems that include explanation capabilities for explaining the immediate source of a piece of information. Prior versions of the CLASSIC.TM. system did provide an explanation of the immediate source of a piece of information, but did not go the next step and explain how the immediate source of the information itself received the information.
In addition, if a system has no pruning capabilities, then when a user requests an explanation for a particular object, the user is presented with an explanation of the source of all of the information that is stored for the particular object, regardless of the particular needs of the user. Thus, explanation systems, which are unable to limit the scope of the generated explanation, have limited utility because the amount of explanation that is presented to the user is often overwhelming.
One potentially useful application for the explanation facilities of a knowledge base management system is in detecting the source of errors. However, upon the detection of a real error by a conventional knowledge representation system, in other words, where an inconsistency is created in the information stored for an object, the knowledge representation system will automatically discard the piece of information that has led to the error and return the knowledge base to a consistent state by removing all of the information that was added to the knowledge base based on the discarded information. Thus, in a conventional knowledge representation system, it is not possible to request an explanation of an object containing an error, because the knowledge representation system has automatically discarded the information in order to maintain the knowledge base in a consistent state.
Another potentially useful application for the explanation facilities of a knowledge base management system is in providing an explanation of why a particular object does or does not satisfy a particular concept description. If the knowledge base management system classifies objects in the knowledge base in a hierarchy, it would be particularly useful for the knowledge base management system to provide an explanation of why an object is in a particular position in the hierarchy.
As is apparent from the above discussion with prior knowledge base management systems, a need exists for a knowledge representation system that is capable of providing a complete explanation of a piece of derived information by tracing back the source of each piece of information until it reaches the point that the source of the information is told information which has been asserted by the user. A further need exists for a knowledge representation system that is capable of limiting the generated explanation in accordance with the needs of the user. Finally, a need exists for an explanation system that is capable of explaining objects that contain errors, in order to facilitate the detection of the error source.